<?php
namespace app\index\controller;
use think\Controller;
use think\Session;
use think\Request;
use think\View;
use think\Db;
use think\Validate;
use app\index\validate\Valid;

/**
 * Class Upload 上传文件
 * @package app\index\controller
 */
class Upload extends Common
{

    //上传附件
    public function fileupload(){

        // 获取表单上传文件 例如上传了001.jpg
        $file = request()->file('file');

        // 移动到框架应用根目录/public/uploads/ 目录下
        if($file){
            //最大50M
            $info = $file->validate(['size'=>50*1024*1024,'ext'=>'jpg,bnp,gif,png,jpeg,tif,raw,doc,docx,xls,xlsx,ppt,pptx,txt,pdf,rar,zip,mp4,avi,rmvb,rm,mid,3gp,AVI,3GP,,mpg,mp3,wma,wav'])->move(ROOT_PATH . 'public' . DS . 'uploads');
            if($info){
                // 成功上传后 获取上传信息
                // 输出 jpg
                $info->getExtension();
                // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
                $info->getSaveName();
                // 输出 42a79759f284b767dfcb2a0197904287.jpg
                $info->getFilename();

                $info2 = $info->getInfo();

                $data = [];
                $data['file_name'] =  $info2['name'];//原名
                $data['path'] =  $info->getSaveName();
                $bool = Db::table('annex')->insert($data);
                if(false !== $bool) {
                    $id = Db::table('annex')->getLastInsID();
                    echo json_encode(array('id' => $id, 'success' => true, 'msg' => '已上传'));
                    die;
                }else{
                    echo json_encode(array( 'success' => false, 'msg' => '存储发生错误!请联系管理员!'));
                    die;
                }

            }else{
                // 上传失败获取错误信息
                echo json_encode(array('msg'=>$file->getError(),'success'=>false));die;
            }
        }
    }

}
